package edu.pku.sei.mte.mtemodel.mtmodel.pattern;

import edu.pku.sei.mte.mtemodel.core.DataType;
import edu.pku.sei.mte.mtemodel.core.NamedElement;
import edu.pku.sei.mte.mtemodel.core.TypedElement;
import edu.pku.sei.mte.mtemodel.graph.GraphEdge;
import edu.pku.sei.mte.mtemodel.metamodel.RTypeReference;
import edu.pku.sei.mte.utilities.Visitor;

public class TPatternEdge extends GraphEdge<TPatternNode,TPatternGraph> implements NamedElement, TypedElement{

	private String name;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	private RTypeReference type;

	public RTypeReference getType() {
		return type;
	}

	public void setType(DataType type) {
		this.type = (RTypeReference)type;
	}
	
	@Override
	public Object accept(Visitor visitor) {
		return visitor.visitTPatternEdge(this);
	}
}
